-
Notifications
You must be signed in to change notification settings - Fork 16
DM-8005 Create phase folding parameter setting panel and move the phase folding algorithm to the client side #220
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
…se folding algorithm to the client side. Make client-only TableMode works like one from the server.
Test:
|
UI Note: I think the slider CSS needs a little work we should talk about how it should look. Maybe that should not hold up this ticket but in the next week or so You, I and Loi could talk about the look. For example I played with making the slide a triangle using techniques from: https://css-tricks.com/snippets/css/css-triangle/ |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Look goods. Two concerns are break up LcPhaseFoldingPopup.jsx and work on the UI look of the slider.
It will look really good when we get it hooked up to a chart.
@@ -0,0 +1,623 @@ | |||
/* |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I think it would be better to break out some of the non-UI function into a separate file. A large percent of this file is not UI. It will be easier to write test.
We are not always consistent about this but I think it is better to try to keep mostly only jsx in a jsx file.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
good approach. I am going to break it.
fieldKey: fKeyDef.period.fkey, | ||
value: `${min}`, | ||
label: `${fKeyDef.period.label}:`, | ||
validator: periodValidator.bind(null, 0.0, Number.MAX_VALUE, 8, periodErr), |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
why does range slider need a validator? I would think it only allows valid values.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This is mainly for checking the value entered in the text field, and the value is applied to the slider itself.
</div> | ||
); | ||
} | ||
} |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I like the flexibility of this component.
Thanks. |
Please, check http://localhost:8080/firefly catalog search. The xyplot does not show on the first catalog search, no matter IRSA or LSST. It shows on the subsequent searches. (dev branch does not exhibit this behavior). This is my fault. I allow TBL_RESULTS_ACTIVE to be dispatched sooner, so that a tab will switch to the latest search immediately instead of waiting for table data to be completely loaded. I've reverted the code. We can talk about it when there is a need to implement such feature. |
1. synchronizing the default chart viewer with the active table is moved to a separate saga, this synchronization happens on CHART_ADD and on TBL_RESULTS_ACTIVE; 2. when a chart is replaced, 'mounted' attribute should be that of the previous chart. 3. the chart area did not show in Firefly Viewer (on the first catalog search).
For phase folding parameter setting panel:
Make client-only TableMode to work like one from the server (done by Loi),
Note:
period minimum: 1 sec, i.e 1/86400 day.
period maximum: (time_max - time_min) * 2, where time_max and time_min are respectively the maximum and minimum mjd from the raw table.
step: (period maximum - period minimum) / (total data points * N), where N = 10.
If a period value bigger than the maximum value on the slider is entered into the text field, then the maximum value on the slider is updated accordingly.
Some issues: